Time


what is the deadline? How much time do I have left?:


My project is due for friday the 15th of June, this is coming fast and still have a lot to do before being able to present something interesting. I have approximatively one week left to be ready for presentation. I will have to manage the time really adequatly to achieve the goals I set for my project in time.

what tasks have been completed, and what tasks remain?


Task completed:


- Developping concept idea
- BOM
- Aquiring material needed
- Design Cad of the machine
- Slide design for presentation
- Assembling and testing the machine
- Input Board
- Output motor driver board
- Test pololu A4988
- Test Gestald for machine control
- develop and Test processing application interface to transform sound into draw


Task remaining


- prototype the software integration to the machine.
- test/test/test
- system integration of the final build
- Documentation on the go.

How will I complete the remaining tasks in time?


To be able to complete the remaining task in time, I will need a lot of organisation and time managment, I also plan my project development in a Spyral form, like Neil suggest us. The first build will be the two-axes machine that will be connected to a board that output the audio signal and divise it using an ftt to my motors.

My first goal is to be able to show off the machine working and doing "something" on the 15th of june, then after that, I will continue working on the project until i'm really satisfied with my result. My boss and colleagues here at the lab gave me time to finish my program, they free me up from my other task and encourage me to concentrate myself on achieving the Fabacademy, this is really good for me since I can really set my mind on the final project and it's documentation.

So the plan is that I can do documentation during the morning and work on the project trough the day, once I get too tired I can go back to documentation on the evening. Soon enouph I will be able to sleep more than only a few hours!

What has worked


My machine Design worked pretty much right out of the box, I'm pretty proud of this one, everything is stiff and feel robust enoupgh to make some rapid movment and brakes on the x and y axis. The machine look's good and on my tests is able to gave me some precise positioning. Having the confidence using a CAD program to make my design really gave me a thrill, a functionning machine is a step up for me in terms of design and I'm pretty proud of myself!



Not without any trouble, but the uses of the MSGEQ7 as a multiplexer also worked really well, I found that the result I was able to get out of the chip was really good and instantanous, the code I wrote give me a clean serial read that clearly show some awsome results on the outpin. My electronic design skills are now pretty good and I feel more and more confident validating my circuit before even testing them.

It may be a bit out of the question, but also feel like my documentation thecnics and process is getting better and better, It takes me way less time to make good documentation and I feel like i'm able to give the information that feel actually pertinent, it may not be a technical skills, but it sure makes me a better maker!

What hasn't?


The project was ambitious, maybe a little too much, I encouter so many problems, some were fun to deal with, other were a nightmare, I went pretty much blind firt head on this project and the moutain was not so easy to climb!

In the end I'm pretty confident everything will work fine, but some issues has slow me down quite a bit, sometime there are some minor mistake that make your work overnight for finally pretty much nothing.

First of all one thing that I could say is ALWAYS double check your circuitry, look for short or misplaced components, if your using jumpers, make sure of their continuity. I've had issues for hours trying to output my ftt trough my board, I was reading wrong value trough my serial bus, I tought it was somewhere in the code, in the delay I put to strobe my MSGEQ7, finally, after checking my board with the multimeter, it was only a connectivity problem....so yeah make sure of that before anything else...

I still have real issues to drive my motor correctly, I think my drivers may be overheating, we have them working correctly for a few seconds, and then the motor just stop working, my motor drive 1.7 amps per coil, and my driver should be able to process up to two amps using heatsink. But still the driver goes up real hot real fast. I will try using a driver that can drive more current.

The MSGEQ7 was not so easy to set up, sure it works in the end but it took me a lot of time to make my reading clean.

What question still need to be resolved


-What on earth is wrong with my steppers?

Using my pololu drivers, the stepper motor should not be such a pain to make it work, but I still have issues making them listen to me, when I tried to run a simple code, the motor hold tork but won't move, there a screw to limit my current on my driver but that does not seem to do the trick, may be a short in my board, maybe the step pins...I am troubleshooting this right now, pretty sure the issues is something pretty dumb that I just don't see for now.

- Is an Attiny44 enouph to store my program?

The code I wrote is using 99% of the storage space of my attiny, I try to compress it by using array and such, but I want to complexify the code even more, this won't be possible if i'm not able to find a way to use less storage. Will I have to switch to a bigger microcontroller? maybe an Atmel 328.



- Are the with of my trace Thick enouph for my current flow?

One things that worries me is the fact that my setppers uses up to 1.7 amp / phase, i'm driving two stepper using the same power source, this mean I can go up to around 6 amps flowing in some traces of my circuitry. The FR1 copper plate I use have a really thin layer of copper in them, this mean I have to make thicker traces, but still have to make my circuit compact enouph for my system integration. The test I made so far seems positive, I use a 45 mil with traces for my traces that goes to this kind of current. I'm worriend cause using a trace with calculator, I need a much thicker with for a safe usage.

What have you learned?


Needless to say that I have learned a LOT during the process of this project, I enconter a hanfull of problems that has me troubleshooting a bunch of electronics and programmation issues, this gave me so much knowledge that I feel now way more confident than before in these fields. Also I had to understand and real a lot about the component and the circuitry that I use and did.

Machine Design



The process of designing and building my machine went pretty well, I learned how efficient it is to design using a CAD program before trying to build and assemble something as complex as a machine. I also learn that the choice of material is super important to be able to make a machine that is stiff enouph to drive correctly motor with such torque. Also, wire managment is something that you have to think about while youre designing the machine, it is really something easy to underestimate, but this is primordial for a good system integration, circuitry needs to fit the machine in a way that it dosent stand in the way of the axes, and make sure that the wires are safely store somewhere following the design of the machine.

Another thing is that I design my machine using only one belt, using a corexy machine design, this mean that I drive my two stepper using the only belt, so my two axes move depending on the direction of my two motor, this was a reflexion challenge when writing the code, since I had to make my motor move respecting the way that the belt works.





Electronics



I learned A LOT in electronics during the realisation of this project, I learned how to design correctly your boards, how to read datasheet for component and integrate the knowledge of those datasheet into the design of your circuit. Working with the MSGEQ7 showed me a lot about how a multiplexer and a filter work, what the logic inside such a chip and how to use it correctly using the correct delay.

I also learn how primordial it is to always double check your cicuit for shorts or connection issues, I lost so much time trying to figure out where the problems was when it was only a short or a jumper issue.

I learned how to truly use a oscillospe as an essential tool in an electronic setup, how to see voltage in time can show you exactly what happen in your circuit, without the uses of an oscilloscope, troubleshooting my circuit would have been like working in the dark. this is an amazing tool that I'm really happy to have learned the utility of it.

I learned about interference and how a floating pin can send wrong data, I learn that the longer the wire, the more interference, and a jack audio floating is just the same as an antenna. I learned about current flowing into a circuit and how to design safe circuit.

I learned the limits of the attiny44 and feel like I could have gone further with a more powerful MCU like the Atmel 328. I learned about steppers and the way they work. I learned what was the meaning and the ways to decoupling and coupling your circuits, how we can make sure that we have a fair control of the transfer of energy in your boards.

This project gave me the chance to learn so much, I feel like this is such a win, i'm really happy with the knowledge I gain during the course of the program and this project.



Programmation



Using the Arduino IDE, I learned how to compress complex code and how to write clean lines of code that works! I feel more and more confident about programming my MCU and I feel like I have a better comprehension of how my electronics component is attached to my program. I now have a great comprehension on how to make serial read and write, how to interpret those result, analog or degital. I just really feel like I can now write code more efficient and cleaner.

Project Managment



I feel like the biggest chalenge in the course of this project was to manage the time and the to-do's list. Managing stress and deadlines. Documenting on the go and take a lot of visual support.

Being an ambitious project (at least for me), I learned to work in spiral and give myself multiple small goals instead of just a begining and a finality. Sure the project is not the dream I had at the first of the program, but it is working and now that I will have no mroe deadlines, I can now take my time to make it the dream I had.
I learned to never underestimate anything, you WILL encounter issues in every step of your design, don't think that a simple step will only take you 20 minute, it won't..

I learned to use my time efficiently by prioritizing my task and use my peers at a maximum. It is your project, but that dosen't mean you should not go fetch all the help you can get, multiple minds are better than a tired one! I also know now that if you start something, finish it in a short amount of time, don't stop and go do something else to go back to it later, you will have to do work again just to get you in the last mindset.

These are the major point I feel I learned during the process of the whole program and really put in pratice during the developpment of my project. I'm now way more confident in my CAD, electronics, programmation and time managment skills. Never give up, result are awsome!